/**
 * 封装 ajax
 * @param url
 * @param param
 * @param type
 * @returns {any}
 *
 * // handleAjax('www.baidu.com/getInfo').done(function (resp) {
 * // // 当result为true的回调
 * // }).fail(function (err) {
 * // // 当result为false的回调
 * // });
 */
function handleAjax(url, param, type) {
    $("#loadingPage").show();
    return $.ajax({
        url: url,
        data: JSON.stringify(param) || {},
        type: type || 'GET',
        dataType: 'json',
        contentType: 'application/json',
    }).then(function (resp) {
        $("#loadingPage").hide();
        // 成功回调
        if (resp.code === 200) {
            return resp.data; // 直接返回要处理的数据，作为默认参数传入之后done()方法的回调
        } else {
            return $.Deferred().reject(resp.msg); // 返回一个失败状态的deferred对象，把错误代码作为默认参数传入之后fail()方法的回调
        }
    }, function (err) {
        $("#loadingPage").hide();
        // 失败回调
        console.log(err.status); // 打印状态码
    });
}

/**
 * get请求
 * @param url
 * @param param
 * @param type
 * @returns {*}
 */
function handleAjaxGet(url, param, type) {
    return handleAjax(url, param, "GET");
}

/**
 * post请求
 * @param url
 * @param param
 * @param type
 * @returns {*}
 */
function handleAjaxPost(url, param, type) {
    return handleAjax(url, param, "POST");
}


/**
 * 成功提示
 * @param self
 * @param message
 */
function successMsg(self, message) {
    self.$message({
        message: message, type: 'success'
    });
}

/**
 * 失败提示
 * @param self
 * @param message
 */
function failMsg(self, message) {
    self.$message({
        message: message, type: 'warning'
    });
}
